RapidIO is an open standard based packet-switched fabric technology that has gained significant momentum recently in wireless, military and video applications due to its superior performance (Gbps/Watt/Port), superior flow control and fault-tolerance, ultra-low latency and guaranteed delivery attributes. The RapidIO protocol supports reliable transmission of packets using acknowledgement identifiers (ackID) that are used to track packet delivery. Acknowledge identifiers are not included in the calculation of Cyclic Redundancy Check (CRC) values, allowing acknowledge IDs to be changed on a link-by-link basis while CRC values remain constant.
With increasing link speeds, the number of packets ‘in flight’ over each link has increased, requiring more acknowledge identifiers for each link Increases in link distance also increase the number of packets “in flight” over each link, requiring even more acknowledgement identifiers for each link To accommodate increased link speeds, the RapidIO specification has increased the size of the acknowledge identifiers, resulting in more acknowledge identifiers for tracking packet delivery. In the RapidIO specification version 3.0 the size of acknowledge identifiers has been increased to twelve bits. However, further increases in the size of acknowledge identifiers are undesirable as this will result in significantly reduced bandwidth efficiency.
Accordingly, for high-speed communications using RapidIO, the maximum length of RapidIO links is limited by the number of acknowledge identifiers available to track packet delivery. This limitation has not been much of a problem in the past as most link distances have been relatively short. However, future applications will require longer RapidIO link distances.
Some Ethernet based protocols have been able to achieve long-link distance by using a sequence number for each packet. However, this method results in the number of bits per packet increasing with link speed, resulting in reduced bandwidth efficiency. This may work well for Ethernet based protocols having moderate to large-size payloads. However, RapidIO packets are designed to be bandwidth efficient for small (256 byte) payloads. For such small payloads, the resulting reduction in bandwidth efficiency makes this an undesirable solution.
Future high performance markets, such as data warehouses, may require links of up to 1 kilometer. The number of ackIDs available for 10/40 Gbps links is not sufficient to give line rate, under all circumstances, over a kilometer long link. As we look forward to faster lane speeds that may be attainable in the future, the number of acknowledgement identifiers needed increases to a number that cannot be supported by the existing RapidIO protocol.
Accordingly there is a need for a method and apparatus that provides bandwidth efficient communication over a RapidIO communication protocol and that will allow for high-link speed and increased-link distance.